#ifndef _RAYTRACEPLUGIN_H_
#define _RAYTRACEPLUGIN_H_
#include <SERender/Renderer/RenderPipline.h>

namespace SEngine
{
    #ifdef LIB_EXPORTS
    #define LIB_API __declspec(dllexport)
    #else
    #define LIB_API __declspec(dllimport)
    #endif


    class RayTracePlugin : public RenderPipline
    {
    public:
        RayTracePlugin(Renderer & renderer);
        virtual ~RayTracePlugin() = default;
        virtual void Init() override;
        virtual void Deinit() override;
        virtual std::string Name() override { return "RayTracePlugin"; }
    };

    extern "C" {
        LIB_API IPlugin * CreatePlugin(void*);
        LIB_API void DestroyPlugin(IPlugin * plugin);
    }

} // namespace SEngine


#endif